跳到主要内容

Helm 进行版本管理

初始化 Helm 仓库

在使用 Helm 之前,你需要初始化 Helm 仓库:

helm repo add stable https://charts.helm.sh/stable
helm repo update

这些命令添加了一个官方的稳定仓库,并更新了仓库列表。

部署应用

部署一个应用时,你会使用 helm install 命令。例如,部署一个名为 my-releasenginx 应用:

helm install my-release stable/nginx

这将创建一个名为 my-release 的新发布,并且会自动为这个发布创建一个新的版本号。

查看发布历史

你可以使用 helm history 命令来查看一个发布的所有版本:

helm history my-release

这会显示 my-release 的所有版本,包括版本号、发布状态、部署时间等。

更新应用

更新应用时,使用 helm upgrade 命令,并且可以修改配置参数或者升级到新的图表版本。例如:

helm upgrade my-release stable/nginx --set service.type=LoadBalancer

这会将 my-release 升级到最新版本,并更改服务类型为 LoadBalancer。Helm 会创建一个新的版本来反映这个更改。

回滚发布

如果需要将应用回滚到之前的版本,可以使用 helm rollback 命令。例如,回滚到版本 2:

helm rollback my-release 2

这会将 my-release 回滚到版本 2。Helm 实际上是以新的发布版本来部署旧版本的图表和配置。

删除发布

如果想要彻底删除一个发布,可以使用 helm uninstall 命令:

helm uninstall my-release

这会删除 my-release 但是保留历史记录,这样你可以在需要时回滚到先前的状态。

清理旧版本

为了保存存储空间,你可能需要删除旧的发布版本。可以通过设置参数来限制保留的历史版本数量:

helm install --history-max 5 my-release stable/nginx
helm upgrade --history-max 5 my-release stable/nginx

--history-max 参数限制 Helm 保留的历史记录的数量。

查看发布状态

要查看当前的发布状态,可以使用:

helm status my-release

这会显示当前发布 my-release 的详细状态信息。

总结一下,Helm 的版本管理允许你跟踪每次发布的变化,并在需要时轻松地回滚到以前的版本。Helm 的 upgraderollback 命令都会增加发布的版本号,提供了一种简单的方式来管理和维护 Kubernetes 应用的生命周期。